In communication systems employing Code Division Multiple Access (CDMA) in accordance with the cdma2000 standard, a mobile unit transmits encoded data over one or more data channels. The data are encoded by the mobile unit using orthogonal Walsh codes, one Walsh code for each data channel. The mobile unit also transmits an encoded pilot signal over a pilot channel. The pilot signal consists of a series of bits having a value of “1”. The pilot channel is encoded by the mobile unit using a Walsh code orthogonal to the Walsh codes used for encoding the data, usually the all “0”s Walsh code. The data channels and the pilot channel are then further encoded using a code unique to the mobile unit. The unique code is generated using a unique offset within a long Pseudo-random Number (PN) sequence, the PN sequence being known by a Base station transceiver system (BTS) with which the mobile unit is communicating. The encoded channels are then transmitted as a signal containing a single stream of chips. In signals conforming with cdma2000, the stream of chips is arranged in CDMA frames 20 ms in length. Each CDMA frame contains sixteen Power Control Groups (PCGs), each PCG contains four slots, and each slot contains 384×N chips, where N is a rate multiplier.
The pilot channel may also contain power control information for signalling transmission power level information. The power control information is typically contained in the last slot in each PCG, and this last slot is referred to as a Power Control Slot (PCS).
Referring to FIG. 1, a communication system is shown. A mobile unit 100 is located a distance 102 from a Base station transceiver system (BTS) 104. The distance 102 generally varies with time due to movement of the mobile unit 100. The mobile unit 100 transmits a transmitted signal which propagates along a shortest path 106 to the BTS 104. Due to reflections off obstacles such as buildings, the transmitted signal may also arrive at the BTS 104 after propagating along additional, longer paths 108 (only one shown).
A receiver at the BTS receives a received signal consisting of the signal transmitted by the mobile unit, multipath contributions of the signal transmitted by the mobile unit, and signals transmitted by other mobile units. The BTS attempts to locate the mobile unit's data channel or channels within the received signal by locating the mobile unit's pilot channel. The Walsh code used to encode the mobile unit's pilot channel is the all “0”s Walsh code. Furthermore the pilot signal consists of a series of bits having a value of “1”. The encoded pilot signal therefore consists of a series of chips equal to the mobile unit's unique code, other than chips within PCSs. The BTS can locate the mobile unit's pilot channel within the received signal by searching for correlations between the received signal and the mobile unit's unique code, which is known by the BTS.
If the communication system employs Code Division Multiple Access (CDMA), the transmitted signal will consist of CDMA frames. Referring to FIG. 2, the structure of a CDMA frame 10 is shown. The CDMA frame 10 is 20 ms in length and consists of sixteen Power Control Groups (PCGs) 12 labelled PCG 1 through PCG 16. Each PCG 12 consists of four slots 14 of 384×N chips each, where N is a rate multiplier, assumed for now to have a value of one. The transmitted signal includes data components and a pilot channel component, separated by orthogonal Walsh codes. The data and pilot channel are independently recoverable by multiplying a received signal by the respective Walsh code. More particularly, the orthogonal Walsh codes are such that by multiplying the received signal by a Walsh code and accumulating over the length of the Walsh code, components modulated by other Walsh codes sum to zero and are removed. In cdma2000, the pilot channel is assigned a Walsh code of all zeros. Accumulating the received signal directly will therefore remove all data components, leaving the pilot channel component. The pilot channel contains known content in the form of pilot channel symbols (typically all ones) in the first three slots of each PCG, and contains power control information in the fourth slot of each PCG. This fourth slot is referred to as a Power Control Slot (PCS). The power control slot is used to carry an all “1”s power control signal for a power up command, or an all “0”s power control signal for a power down command.
A searcher, which is a functional block within the BTS 104 attempts to locate a unique code of the mobile unit 100 within a received signal received at the BTS 104. The received signal is composed of the transmitted signal from the mobile unit 100, including multipath contributions, and transmitted signals from other mobile units. The searcher measures correlations between the unique code of the mobile unit 100 and the received signal. Since the pilot channel has a Walsh code of all zeroes, performing a correlation directly on the received signal is equivalent to performing a correlation between the pilot channel multiplied by the mobile unit's unique code, and the contributions of the data channels are removed.
The searcher is a functional block in all CDMA receivers whose purpose is to detect an access request of a mobile or to search for multipath components over a certain search window. It correlates a received signal with the locally generated PN code defined by the system time for all possible delay offsets specified in the search window. The search results are accumulated over the total correlation interval. The search results are “fingers” to new or existing multipath components. There are two types of search functions: access searcher and traffic searcher. After having successfully completed the forward link synchronization, a mobile terminal enters the cell network by sending a request on a common unlink access channel according to a Slotted ALOHA scheme. An access request contains a preamble made of a un-modulated pilot followed by an encapsulated message. The access searcher function performs the first detection of a user in the cell so as to determine an access request has been made by a mobile. After completing the access searcher function, the network assigns a traffic channel to the mobile. Then the traffic searcher function is performed to search for multipath components over a certain search window so as to maintain the traffic channel which has already been established.
There are two stages for the traffic search: preamble search and demodulation search. To assist the base station in initial acquisition of the user's signal, the mobile will send a preamble pilot signal without power control bit in multiples of 1.25 ms before sending the actual traffic data signals. After acquiring the mobile signal, the base station will inform the mobile to send the actual data signals as well as the pilot signal with power control bit. The base station then begins to do the demodulation search.
There are basically two methods to do the correlations:
Method One: The despreading code is fixed. The correlation result for each offset is obtained by shifting the chip rate samples against the despreading code and the correlation is calculated by the formula
      r    ⁡          (      k      )        =            ∑              n        =        1            N        ⁢                  x        ⁡                  (                      n            +            k                    )                    ⁢              c        ⁡                  (          n          )                    where x(n) is the received chip samples, and c(n) is the despreading code. Suppose that the search window size is M and the correlation length is N. This method will require M+N received chip rate samples and length N despreading codes to do the correlations for M chip offsets.
Method Two: The chip rate samples is fixed. The correlation result for each offset is obtained by shifting the despreading code against the chip rate samples and calculate the correlation for each offset by the formula
      r    ⁡          (      k      )        =            ∑              n        =        1            N        ⁢                  x        ⁡                  (          n          )                    ⁢              c        ⁡                  (                      n            +            k                    )                    This method will require M+N despreading codes and length N received chip rate samples to do the correlations for M chip offsets.
For the access search and traffic preamble search, since there are no power control bits in the pilot signals, method two is the preferable method to do the correlation. For the traffic demodulation search, since there are power control bits in the pilot signals, method one is the preferable method to do the correlation.
It can be viewed as a FIR filter. Its output is the correlation result for each offset. Since the searching resolution is two samples per chip, we need two such filters to implement the searcher. One is operated on the even chip samples, and the other is operated on the odd chip samples. To simplify the analysis, only the correlation process for even chip samples is dealt with.
Various searcher structures are taught in co-pending application Ser. No. 09/671,254 filed Sep. 28, 2000 entitled “Method and System for Estimating Frequency Offset and Phase Rotation Correction in CDMA Systems” assigned to the same assignee as this application and hereby incorporated by reference.
A current method by which the BTS may search for the mobile unit's code within the stream of chips will be described with reference to FIG. 3. The PN code is aligned with the slot start of the earliest received mobile signal. Then a coherent accumulation 20 is performed over the 384 chips in the first slot in the first PCG. Similarly a coherent accumulation is performed for each of the first 16 slots, i.e. all of the slots in the first four power control groups. These are then non-coherently accumulated 22. If the non-coherently accumulated correlation result for a given offset is above a threshold then the BTS concludes that the mobile unit's pilot channel has been located, and the encoded data can be extracted. The timing of the correlation is important. Searching for a correlation over sixteen consecutive slots requires that the searching be scheduled to begin at a slot boundary of the received signal, in order that the BTS does not evaluate a coherent correlation across any boundaries of PCSs of the mobile unit's signal. A coherent accumulation entirely within a PCS is acceptable because the PCS contains all “0”s or all “1”s. Scheduling of correlation measures to begin at mobile unit slot boundaries is not efficient to implement. Furthermore, when measuring correlations over consecutive slots, there is a risk that the correlations will be measured over a period of low signal strength arising from fading.